home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / aakint14.arc / DATAPRES.FUN next >
Text File  |  1986-08-24  |  2KB  |  35 lines

  1. (********************************************************************)
  2. (* THIS FUNCTION WILL RETURN TRUE IF THERE IS DATA IN THE SERIAL    *)
  3. (* CHANNEL INPUT BUFFER                                             *)
  4. (* INPUT        : Ser_Chan                                          *)
  5. (* INPUT/OUTPUT : NONE                                              *)
  6. (* OUTPUT       : Data_Present                                      *)
  7. (* USES         : DIAG VARS FOR SERIAL CHANNELS                     *)
  8. (* CALLS        : INTR                                              *)
  9. (* ERRORS       : ALL SERIAL POSIBLE RESULTS STORED IN GLB VARS     *)
  10. (* GLOBAL VARS  : GLB SERIAL VARS                                   *)
  11. (* SUBJECT      : SERIAL COMM, TEST FOR INCOMING DATA               *)
  12. (* DOMAIN       : ARNO A. KARNER                      LEVEL : 001   *)
  13. (********************************************************************)
  14.  
  15. FUNCTION Data_Present                           ( Ser_Chan : INTEGER )
  16.                                                 : BOOLEAN ;
  17.  
  18. VAR
  19.    Regs : Reg ;
  20.  
  21. BEGIN (* FUNC *)
  22.    Regs.AH := 3 ;
  23.    Regs.DX := Ser_Chan ;
  24.    INTR ( $14 , Regs ) ;         (* BIOS CALL TO GET SERIAL STATUS *)
  25.    IF ( Regs.AH AND 1 ) = 1  THEN Data_Present := TRUE
  26.    ELSE Data_Present := FALSE ;
  27.    IF Glb_Diag
  28.    THEN BEGIN (* DIAG MODE *)
  29.            CSF [ Ser_Chan ] := CSF [ Ser_Chan ] AND $9E0F;
  30.            CSF [ Ser_Chan ] := CSF [ Ser_Chan ] OR Regs.AX ;
  31.            IF ( Regs.AX AND $9E00 ) = 0 THEN CS [ Ser_Chan ] := TRUE
  32.            ELSE  CS [ Ser_Chan ] := FALSE ;
  33.         END;  (* DIAG MODE *)
  34. END ; (* FUNC *)
  35.